package cn.exrick.xboot.modules.graphics.service;

import cn.exrick.xboot.modules.backlogOrFullList.entity.BacklogOrFullList;
import cn.exrick.xboot.modules.graphics.param.GraphicsPageParam;
import cn.exrick.xboot.pojo.MethodRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.exrick.xboot.modules.graphics.entity.GraphicsPage;

import java.util.List;

/**
 * 首页画布表接口
 * @author njp
 */
public interface IGraphicsPageService extends IService<GraphicsPage> {

    /**
     * 分页条件查询
     * @param graphicsPageParam
     * @param page
     * @param openDataFilter 是否开启数据权限
     * @return
     */
    IPage<GraphicsPage> page(GraphicsPageParam graphicsPageParam,Page page,Boolean openDataFilter);

    /**
     * 新增
     * @param graphicsPageParam
     */
    MethodRequest add(GraphicsPageParam graphicsPageParam);

    /**
     * 查看
     * @param graphicsPageParam
     * @return
     */
    GraphicsPage detail(GraphicsPageParam graphicsPageParam);

    /**
     * 编辑
     * @param graphicsPageParam
     */
    boolean edit(GraphicsPageParam graphicsPageParam);

    /**
     * 删除
     * @param graphicsPageParam
     * @return
     */
    boolean delete(GraphicsPageParam graphicsPageParam);

    /**
     * 界面设计的保存
     * @param graphicsPageParam
     * @return
     */
    void saveLayout(GraphicsPageParam graphicsPageParam);

    /**
     * 复制界面到某部门
     * @param graphicsPageParam
     */
    void copyGraphicsPage(GraphicsPageParam graphicsPageParam);

    /**
     * 启用界面（注：一个组织只能有一个界面启用）
     * @param graphicsPageParam
     */
    void startGraphicsPage(GraphicsPageParam graphicsPageParam);

    /**
     * 查询当前部门开启状态的界面
     * @return
     */
    GraphicsPage getGPbyOrgAndStatus(GraphicsPageParam graphicsPageParam);

}